// 定义用于创建用户的数据传输对象
import { ApiProperty } from '@nestjs/swagger';
import { isEmpty } from 'lodash';
import {
  ArrayMaxSize,
  ArrayMinSize,
  ArrayNotEmpty,
  IsArray,
  IsEmail,
  IsIn,
  IsInt,
  IsOptional,
  IsString,
  Matches,
  MaxLength,
  Min,
  MinLength,
  ValidateIf,
} from 'class-validator';
export class CreateUserDto {
  // @ApiProperty({
  //   description: '所属部门编号',
  // })
  // @IsInt()
  // @Min(0)
  // departmentId: number;

  // @ApiProperty({
  //   description: '用户姓名',
  //   example: '郅鹏'
  // })
  // @IsString()
  // @MinLength(2)
  // name: string;

  @ApiProperty({
    description: '登录账号',
    example: '18830289852',
  })
  @IsString()
  @MinLength(6)
  @MaxLength(20)
  username: string;

  @ApiProperty({
    description: '登录密码',
    example: '123456',
  })
  @IsString()
  @MinLength(6)
  @MaxLength(20)
  password: string;
  // @ApiProperty({
  //   description: '归属角色',
  //   type: [Number],
  // })
  // @ArrayNotEmpty()
  // @ArrayMinSize(1)
  // @ArrayMaxSize(3)
  // roles: number[];

  // @ApiProperty({
  //   required: false,
  //   description: '呢称',
  // })
  // @IsString()
  // @IsOptional()
  // nickName: string;

  // @ApiProperty({
  //   required: false,
  //   description: '邮箱',
  // })
  // @IsEmail()
  // @ValidateIf((o) => !isEmpty(o.email))
  // email: string;

  // @ApiProperty({
  //   required: false,
  //   description: '手机号',
  // })
  // @IsString()
  // @IsOptional()
  // phone: string;

  // @ApiProperty({
  //   required: false,
  //   description: '备注',
  // })
  // @IsString()
  // @IsOptional()
  // remark: string;

  // @ApiProperty({
  //   description: '状态',
  // })
  // @IsIn([0, 1])
  // status: number;
}
